12 research outputs found

    Mapping-basierte Modellierung von Softwareproduktlinien

    Get PDF

    Version Control and Product Lines in Model-Driven Software Engineering

    Get PDF
    Diese Arbeit behandelt Anforderungen, die formale Ausgestaltung, die Implementierung sowie Anwendungen eines konzeptionellen Rahmenwerks zur Integration der modellgetriebenen Softwareentwicklung (MGSE), der Versionskontrolle (VK) und der Softwareproduktlinienentwicklung (SPLE). Die allermeisten Softwareprojekte sehen sich mit drei Phänomenen konfrontiert: Abstraktion, Evolution und Variabilität. Abstraktion wird durch Modelle erzielt. Diese beschreiben Softwaresysteme auf einer höheren konzeptionellen Ebene und erleichtern somit die Durchführung und Kommunikation von Entwurfsentscheidungen. MGSE hat ausführbare Modelle und letztendlich eine Reduktion handgeschriebenen Quelltexts zum Ziel. Softwareevolution wird von Versionskontrollsystemen unterstützt, die zum Zwecke der Organisation gemeinschaftlich entwickelter Software unverzichtbar geworden sind. SPLE erfreut sich als Ansatz zur organisierten Verwaltung von Variabilität zunehmender Beliebtheit. Dabei wird das Softwaresystem in so genannte Features dekomponiert. Diese sind wiederum Merkmale, anhand derer sich Mitglieder der Produktlinie unterscheiden. Gewöhnlich werden Abstraktion, Evolution und Variabilität durch voneinander unabhängige Werkzeuge erzielt. Dies führt einerseits zu unerwünschten Kontextwechseln zwischen Modellierungswerkzeugen, Versionskontrollsystemen und Produktlinienunterstützung. Andererseits wird eine lose Werkzeugkombination nicht den offensichtlichen Überschneidungen zwischen den Disziplinen gerecht. Beispielsweise beschäftigten sich MGSE und SPLE gleichermaßen mit (Domänen- bzw. Feature-) Modellen. Auch verwalten VK und SPLE verschiedene Arten von Versionen, nämlich Revisionen und Varianten. Im Vorfeld der Ausgestaltung des Rahmenwerks werden seine Anforderungen mit dem Stand der Forschung in den Schnittbereichen modellgetriebene Produktlinienentwicklung, Modellversionierung und Produktlinienversionierung abgeglichen. Die Eigenschaften der verglichenen Systeme werden bei der Identifikation und Auflösung von Entwurfsentscheidungen im Bezug auf das Rahmenwerk bewertet und berücksichtigt. Den Kern des Rahmenwerks stellt eine Hybridarchitektur dar, die sich aus drei Dimensionen zusammensetzt: Einem Revisionsgraphen, der die Evolution der beiden anderen Dimensionen beschreibt, sowie einem Featuremodell, das die Variabilität des Domänenmodells verwaltet. Letzteres unterliegt also der Evolution genauso wie der Variabilität. Das Rahmenwerk setzt das so genannte gefilterte Edieren ein. Dabei werden die Inhalte des Software-Repositorys vom Endbenutzer nicht direkt, sondern in mehreren Iterationen in einem getrennt verwalteten Einzelvarianten-Arbeitsbereich (Workspace), bearbeitet. Eine Iteration beginnt mit dem Kommando Check-Out. Dieses verlangt eine Benutzerauswahl im Revisionsgraphen und darauf folgend die Konfiguration der gewünschten Workspace-Variante durch eine vollständige Auswahl im Featuremodell. Die Inhalte des Workspace können daraufhin beliebig bearbeitet werden, bevor die Iteration mit dem Kommando Commit abgeschlossen wird. Hierbei gibt der Benutzer eine so genannte Feature-Ambition an. Diese entspricht einer Menge von Varianten, auf die sich die vollzogenen Änderungen beziehen. Die Inhalte des Repositorys werden automatisch unter Berücksichtigung der historischen und logischen Komponente der Änderung aktualisiert
    corecore